#ifndef NODE_H
#define NODE_H

#include <memory>
#include "ExecuteContext.h"

namespace CExpression
{
	class Expression;

class Node abstract
{
public:
	Node(){}
	virtual ~Node(){}
	virtual void Eval(ExecuteContext &context) abstract;
	virtual std::shared_ptr<Node> Clone(Expression &parent) abstract;
};
}

#endif